﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using lapinou_game2.GameObjects;

namespace lapinou_game2.GameInteraction
{
    /// <summary>
    /// Classe comportant toutes les fonctions liée à la physique :
    /// -Gestion de la gravité
    /// -Gestion de la cinétique (élan, etc ..)
    /// -Gestion du saut
    /// </summary>
    class Physic
    {
        Mensurations objectInfos;
        BiduleEnvironnement environnementInfos;
        public Physic(Mensurations objectInfos, BiduleEnvironnement environnementInfos)
        {
            this.objectInfos = objectInfos;
            this.environnementInfos = environnementInfos;
        }

        public Vector2 Newton2(Vector2 position, Vector2 vitesse)
        {
            // à prononcer  avec un accent anglais
            Vector2 displacement = Vector2.Zero;

            displacement.Y += objectInfos.Masse * environnementInfos.Gravity - vitesse.Y;
            displacement.X += ((objectInfos.Masse * vitesse.LengthSquared()) / 2) + vitesse.X; 
            
            return displacement;
        }
    }
}
